/**
 *白名单管理js
 */
var whiteListManage = ( new function() {
		//区域ID，获取从原生app传过来的区域ID,不应该在这里调用。
		var mID=$api.getStorage('areaID');
		//搜索接口url（深职院）
		var mSearchUrl = '/shy_manage/manageindex/selInformation.do';
		//激活账号接口url（深职院）
		var mActivateAccountUrl = '/shy_manage/manageindex/openuser.do';
		//停用账号接口url（深职院）
		var mStopUseAccountUrl = '/shy_manage/manageindex/outuser.do';
		//添加新的用户或更新用户信息接口url（深职院）
		var mAddOrUpdateUserInfoUrl = '/shy_manage/manageindex/updateInfo.do';
		//搜索接口url（南山街道办）
		var mSearchUrl2 = '/protal/validate/seluser.do';
		//更新账号信息接口url（南山街道办）
		var mUpdateAccountUrl2 = '/protal/validate/updateuser.do';
		//删除账号接口url（南山街道办）
		var mDeleteUseAccountUrl2 = '/protal/validate/deleteuser.do';
		//添加新的用户信息接口url（南山街道办）
		var mAddUserInfoUrl2 = '/protal/validate/adduserlist.do';
		//通用权限接口
		var mJurisdictionUrl='/protal/validate/managelist.do';
		/**
		 * 请求服务器的函数
		 * @param {String} url - 请求url
		 * @param {Object} data - 上传参数
		 * @param {Object} callback - 回调函数对象
		 * @param {Object} tag - 请求标记，以区分是请求哪个url的。
		 */
		function requestMethod(url,data,callback,tag){

			console.log('requestMethod---'+'url='+url+'   data='+data);
			for(var x in data.values){
				console.log('请求参数:  '+x+'='+data.values[x]);
			}
			api.ajax({
				url : url,
				method : 'post',
				data : data,
				tag:tag
			}, function(ret, err) {
				console.log('requestMethod--Result---ret='+JSON.stringify(ret)+'     err='+JSON.stringify(err));
				if (ret) {
					callback(ret);
				} else {
					callback(false);
				}
			});
		}
		/*---------------------------------------深职院----START----------------------------------------------------------*/
		/**
		 * 搜索接口
		 * @param {Number} type 类型 1.学生 2.老师(必传值 1,2不需要时传0)
		 * @param {Number} status 状态 1.启用 2.停用 3.未激活（必传值1,2,3 不需要时传0）
		 * @param {String} searchid 关键字搜索 如名字 工号 编号 密码（必传值 无值时传null）
		 * @param {Object} callback 回调函数对象
		 */
		function search(page,rows,type, status, searchid,callback) {
			var al = arguments.length;
			var i;
			var areaID = $api.getStorage('areaID');
			var data;
			searchid = searchid || null;
			data = {
				values : {
					page : page,
					rows : rows,
					type : type,
					status : status,
					searchid : searchid,
					protectid:areaID
				}
			};

			//ip地址,获取从原生app传过来的 代理服务器IP,作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mSearchUrl,data,callback,'search');
		}

		/**
		 * 激活账号
		 * @param {Number} id 编号ID(必传)
		 * @param {Object} callback 回调函数对象
		 */
		function activateAccount(id, callback) {
      var areaID = $api.getStorage('areaID');
			var data = {
				values : {
					id : id,
					protectid:areaID
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mActivateAccountUrl,data,callback);

		}

		/**
		 * 停用账号
		 * @param {Number} id 编号ID(必传)
		 * @param {Object} callback 回调函数对象
		 */
		function stopUseAccount(id, callback) {
      var areaID = $api.getStorage('areaID');
			var data = {
				values : {
					id : id,
					protectid:areaID
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mStopUseAccountUrl,data,callback);

		}

		/**
		 * 添加新的用户或更新用户信息接口
		 * @param {Number} id 编号ID(不传为添加，传为更新)
		 * @param {Number} type 1.学生 2.老师(必传 中文值)
		 * @param {String} verify_code 学生号或老师工号(必传)
		 * @param {String} name 名字(必传)
		 * @param {String} id_card 密码(必传)
		 * @param {String} valid_time 上网有效时间(必传)
		 * @param {Object} callback 回调函数对象
		 */
		function addOrUpdateUserInfo(id, type, verify_code, name, id_card, valid_time,status, callback) {
			var al = arguments.length;
			var i;
			var data;
      var areaID = $api.getStorage('areaID');
			id = id || null;

			data = {
				values : {
					id : id,
					type : type,
					verify_code : verify_code,
					name : name,
					id_card : id_card,
					valid_time : valid_time,
					status : status,
					protectid:areaID
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mAddOrUpdateUserInfoUrl,data,callback);
		}
		/*---------------------------------------深职院----END----------------------------------------------------------*/

		/*---------------------------------------南山街道办----START----------------------------------------------------------*/
		/**
		 * 搜索
		 * @param {Number} page 页码（第几页）
		 * @param {Number} rows 每页的数据数目
		 * @param {String} searchContent 搜索内容
		 * @param {String} protectid 区域id
		 * @param {Object} callback 回调函数对象
		 */
		function search2(page,rows,searchContent,protectid,callback){
			var data={
				values : {
					page:page,
					rows:rows,
					search_id:searchContent,
					protectid:protectid
				}
			};

			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mSearchUrl2,data,callback,'search');
		}
		/**
		 * 添加
		 * @param {String} username 用户名(必传)
		 * @param {Number} status 用户手机号(必传)
		 * @param {Number} protectid 区域id(必传)
		 * @param {String} phone 用户电话(必传)
		 * @param {Object} callback 回调函数对象
		 */
		function add2(username,status,protectid,phone,password,callback){
			var al = arguments.length;
			var i;
			var data={
				values : {
					username:username,
					status:status,
					phone:phone,
					password:password,
					protectid:protectid,
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mAddUserInfoUrl2,data,callback);
		}
		/**
		 * 更新数据
		 * @param {String} id 编号ID(必传)
		 * @param {String} username 用户名(必传)
		 * @param {String} user_phone 用户手机号(必传)
		 * @param {Number} status 用户手机号(必传)
		 * @param {Object} callback 回调函数对象
		 */
		function update2(id,username,user_phone,status,password,callback){
			var al = arguments.length;
			var areaID = $api.getStorage('areaID');
			var i;
			var data = {
				values : {
					id : id,
					username : username,
					user_phone : user_phone,
					status:status,
					password:password,
					protectid:areaID
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mUpdateAccountUrl2,data,callback);
		}
		/**
		 * 删除数据
		 * @param {String} id 编号ID(必传)
		 * @param {Object} callback 回调函数对象
		 */
		function delete2(id,callback){
      var areaID = $api.getStorage('areaID');
			var data={
				values : {
					id:id,
					protectid:areaID
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mDeleteUseAccountUrl2,data,callback);
		}

		/*---------------------------------------南山街道办----END----------------------------------------------------------*/
		/*---------------------------------------获取权限列表接口(通用接口)----start----------------------------------------------------------*/
		/**
		 * 获取白名单权限列表
		 * @param {String} userid 用户id(必传)
		 */
		function queryJurisdictionList(userid,callback){
			var data;
      var areaID = $api.getStorage('areaID');
			data={
				values : {
					userid:userid,
					protectid:areaID
				}
			};
			//ip地址,获取从原生app传过来的代理服务器IP，作为请求服务器的IP
			var mIp = $api.getStorage('agencyIP');
			requestMethod(mIp + mJurisdictionUrl,data,callback);
		}
		/*---------------------------------------获取权限列表接口----END----------------------------------------------------------*/
		/**
		 *公开api
		 */
		this.search=search;
		this.activateAccount=activateAccount;
		this.stopUseAccount=stopUseAccount;
		this.addOrUpdateUserInfo=addOrUpdateUserInfo;
		this.search2=search2;
		this.add2=add2;
		this.update2=update2;
		this.delete2=delete2;
		this.queryJurisdictionList=queryJurisdictionList;
	}());
